home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / ietf / urn / urn-archives / urn-ietf.archive.9703 / 000056_owner-urn-ietf _Wed Mar 26 16:24:22 1997.msg < prev    next >
Internet Message Format  |  1997-04-01  |  58KB

  1. Received: (from daemon@localhost)
  2.     by services.bunyip.com (8.8.5/8.8.5) id QAA03216
  3.     for urn-ietf-out; Wed, 26 Mar 1997 16:24:22 -0500 (EST)
  4. Received: from mocha.bunyip.com (mocha.Bunyip.Com [192.197.208.1])
  5.     by services.bunyip.com (8.8.5/8.8.5) with SMTP id QAA03207
  6.     for <urn-ietf@services.bunyip.com>; Wed, 26 Mar 1997 16:24:10 -0500 (EST)
  7. Received: from lysithea.lcs.mit.edu by mocha.bunyip.com with SMTP (5.65a/IDA-1.4.2b/CC-Guru-2b)
  8.         id AA01818  (mail destined for urn-ietf@services.bunyip.com); Wed, 26 Mar 97 16:24:01 -0500
  9. Received: (from sollins@localhost) by lysithea.lcs.mit.edu (8.6.9/8.6.9) id QAA04302; Wed, 26 Mar 1997 16:23:58 -0500
  10. Date: Wed, 26 Mar 1997 16:23:58 -0500
  11. Message-Id: <199703262123.QAA04302@lysithea.lcs.mit.edu>
  12. From: "Karen R. Sollins" <sollins@LCS.MIT.EDU>
  13. To: urn-ietf@bunyip.com
  14. Subject: [URN] Requirements internet draft
  15. Sender: owner-urn-ietf@Bunyip.Com
  16. Precedence: bulk
  17. Reply-To: "Karen R. Sollins" <sollins@LCS.MIT.EDU>
  18. Errors-To: owner-urn-ietf@Bunyip.Com
  19.  
  20. There are changes scattered throughout the whole document (although
  21. very little in the framework section) based on the mailing list
  22. discussions.  Thanks everyone!
  23.  
  24.             Karen
  25.  
  26. ______________________________
  27.  
  28. Internet Draft                                          Karen R. Sollins
  29. draft-ietf-urn-req-frame-01.txt                                  MIT/LCS
  30. Expires September 28, 1997                                March 28, 1997
  31.  
  32.     Requirements and a Framework for URN Resolution Systems
  33.  
  34.  
  35. Status of this draft
  36.      This document is an Internet-Draft.  Internet-Drafts are working
  37.      documents of the Internet Engineering Task Force (IETF), its
  38.      areas, and its working groups.  Note that other groups may also
  39.      distribute working documents as Internet-Drafts.
  40.  
  41.      Internet-Drafts are draft documents valid for a maximum of six
  42.      months and may be updated, replaced, or obsoleted by other
  43.      documents at any time.  It is inappropriate to use Internet-
  44.      Drafts as reference material or to cite them other than as
  45.      ``work in progress.''
  46.  
  47.      To learn the current status of any Internet-Draft, please check
  48.      the ``1id-abstracts.txt'' listing contained in the Internet-
  49.      Drafts Shadow Directories on ftp.is.co.za (Africa),
  50.      nic.nordu.net (Europe), munnari.oz.au (Pacific Rim),
  51.      ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast).
  52.  
  53.  
  54. Abstract:
  55.  
  56. This document addresses the issues of the discovery of local URN
  57. resolver services that in turn will directly translate URNs into
  58. URLs and URCs.  The document falls into three major parts, the
  59. assumptions underlying the work, the requirements in order to be a
  60. viable Resolver Discovery Service or RDS to help in finding URN
  61. resolvers, and a framework for designing RDSs.  The requirements fall
  62. into three major areas: evolvability, usability, and security and
  63. privacy.  An RDS that is compliant with the framework will not
  64. necessarily be compliant with the requirements.  Compliance with the
  65. requirements will need to be validated separately.
  66.  
  67.  
  68. 1. Introduction
  69.  
  70. The purpose of this document is to lay out the engineering criteria
  71. for what we will call here a Resolver Discovery Service (RDS), a
  72. service to help in the learning about URN resolvers.  This is a
  73. component of the realization of an information infrastructure.  In the
  74. case of this work, that infrastructure is to be available, "in the
  75. Internet" or globally, and hence the solutions to the problems we are
  76. addressing must globally scalable.  In this work, we are focussing
  77. specifically on naming of resources and resolution of those names to
  78. the exclusion of other problems such as typing, resource access and
  79. availability, security of the resources, etc.  Those are all important
  80. problems, but not part of this effort.
  81.  
  82. The Uniform Resource Identifier Working Group defined a naming
  83. architecture, as demonstrated in a series of three RFCs 1736[RFC1736],
  84.  
  85.                                  - 1 -
  86.  
  87. 1737{RFC1737}, and 1738[RFC1738].  Although several further documents
  88. are needed to complete the description of that architecture, it
  89. incorporates three core functions often associated with "naming":
  90. identification, location, and mnemonics or semantics.  By location, we
  91. mean full-qualified Domain Names or IP addresses.  Names may provide
  92. the ability to distinguish one resource from another, by
  93. distinguishing their "names".  Names may help to provide access to a
  94. resource by including "location" information.  Lastly, names may have
  95. other semantic or mnemonic information that either helps human users
  96. remember or figure out the names, or include other semantic
  97. information about the resource being named.  The URI working group
  98. concluded that there was need for persistent, globally unique
  99. identifiers, distinct from location or other semantic information;
  100. these "names" provide identity, in that if two of them are "the same"
  101. (under some simple rule of canonicalization), they identify the same
  102. resource.  Furthermore, the group decided that these "names" were
  103. generally to be for machine, rather than human consumption.  One can
  104. imagine a variety human-friendly naming (HFN) schemes supporting
  105. different suites of applications and user communities.  These will
  106. need to provide mappings to URNs in tighter or looser couplings,
  107. depending on the namespace.  It is these that will be mnemonic,
  108. content-full, and perhaps mutable, to track changes in use and
  109. semantics.  They may provide nicknaming and other aliasing, relative
  110. or short names, context sensitive names, descriptive names, etc.  The
  111. URI naming architecture as described in the introductions to RFCs 1736
  112. and 1737 lays out three sorts of components to the naming
  113. architecture: identifiers called Uniform Resource Names (URNs),
  114. locators called Uniform Resource Locators (URLs) and semantic
  115. meta-information called Uniform Resource Characteristics (URCs).  This
  116. document focusses on part of the problem of the translation from URN
  117. to URL and/or URC.
  118.  
  119. Within the URI community there has been a concept used frequently that
  120. for lack of a better term we will call a _hint_.  A hint is something
  121. that helps in the resolution of a URN; we map URNs to hints as an
  122. interim stage in accessing a resource.  A hint may also have
  123. meta-information associated with it, such as an expiration_time or
  124. certification of authenticity.  We expect that these will stay with a
  125. hint rather than being managed elsewhere.  We will assume in all
  126. further discussion of hints that they include any necessary
  127. meta-information as well as the hint information itself.  Examples of
  128. hints are: 1) the name of a resolver service that may further resolve
  129. the URN, 2) the address of such a service, 3) a location at which the
  130. resource was previously found.  The defining feature of hints is that
  131. they are only hints; they may be out of date, temporarily invalid, or
  132. only applicable within a specific locality.  They do not provide a
  133. guarantee of access, but they probably will help in the resolution
  134. process.  We must assume that most resolutions of URNs will be
  135. provided by the use of locally stored hints, because maintaining a
  136. database of globally available, completely up-to-date location
  137. information is infeasible for performance reasons.  There are a number
  138. of circumstances in which one can imagine that hints become invalid,
  139. either because a resource has moved or because a different URN
  140. resolver service has taken over the responsibility for resolution of
  141. the URN.  Hints may be found in a variety of places.  It is generally
  142. assumed that a well engineered system will maintain a set of hints for
  143.  
  144.                                  - 2 -
  145.  
  146. each URN at each location where that URN is found.  In addition, for
  147. those situations in which those hints found locally fail, a
  148. well-engineered system will provide a fall-back mechanism for
  149. discovering further hints.  It is this fall-back mechanism, an RDS,
  150. that is being addressed in this document.  As with all hints, there
  151. can never be a guarantee that access to a resource will be available
  152. to all clients, even if the resource is accessible to some.  However,
  153. an RDS is expected to work with reasonably high reliability, and,
  154. hence, may result in increased response time.
  155.  
  156. The remainder of this document falls into three sections.  The first
  157. identifies several sets of assumptions underlying this work.  The next
  158. lays out the requirements for a Resolver Discovery Service.  This
  159. section is probably the most critical of the document, because it is
  160. this that provides the metric for whether or not a proposed scheme for
  161. a RDS is adequate or not.  For the reader short on time, each of the
  162. three major subsections of the requirements section begins with a
  163. summary list of the requirements identified in that section.  The
  164. final section of the document lays out a framework for such RDSs.  The
  165. purpose of this last section is to bound the search space for RDS
  166. schemes.  One must be careful not to assume that because an RDS scheme
  167. fits within the framework that it necessarily meets the requirements.
  168. As will be discussed further in this last section, designing within
  169. the framework does not guarantee compliance, so compliance evaluation
  170. must also be part of the process of evaluation of a scheme.
  171.  
  172. 2. Assumptions
  173.  
  174. Based on previous internet drafts and discussion in both the URN BOFs
  175. and on the URN WG mailing list, three major areas of assumptions are
  176. apparent: longevity, delegation, and independence.  Each will be
  177. discussed separately.
  178.  
  179. The URN requirements state that a URN is to be a "persistent
  180. identifier".  It is probably the case that nothing will last forever,
  181. but in the time frame of resources, users of those resources, and the
  182. systems to support the resources, the identifier should be considered to
  183. be persistent or have a longer lifetime than those other entities.
  184. There are two assumptions that are implied by longevity of URNs:
  185. mobility and evolution.  "Mobility" assumes that everything will move
  186. over the life of a URN.  For example, resources will move from one
  187. machine to another, because individual machines have a much shorter
  188. lifetime than resources, generally measured in a number of years less
  189. than a decade.  Owners of resources may move and wish their resources to
  190. follow them.  The services themselves will move.  "Evolution" assumes
  191. that the supporting infrastructure will evolve.  This may take the form
  192. of entirely new transport protocols or new versions of existing
  193. protocols.  Furthermore, services such as storage services may evolve;
  194. it is even possible that within a human lifetime the Unix file system
  195. model may no longer be in use!  Clearly there will be evolution of and
  196. improvement in supporting authentication and security mechanisms.  These
  197. are only examples.  In general, we must assume that almost any piece of
  198. the supporting infrastructure of URN resolution will evolve.  In order
  199. to deal with both the mobility and evolution assumptions that derive
  200. from the assumption of longevity, we must assume that users and their
  201.  
  202.                                  - 3 -
  203.  
  204. applications can remain independent of these mutating details of the
  205. supporting infrastructure.
  206.  
  207. The second and third assumptions are two forms of modularity: delegation
  208. and isolation.  The delegation assumption is that an entity may
  209. partition and pass off some of its authority or responsibility.  One of
  210. those responsibilities is for assigning URNs; practically speaking,
  211. there cannot be only a single authority for assigning URNs.  We expect
  212. that there will be a multi-tiered naming authority delegation.
  213. Furthermore, it is difficult to imagine a non-partitioned and delegated
  214. global RDS, meaning that hint discovery and resolution will be
  215. partitioned and delegated.  In some RDS schemes, the delegation of
  216. naming authority will form a basis for delegating the management and
  217. dispensing of location information.
  218.  
  219. The third assumption is independence or isolation of one authority from
  220. another and, at least to some extent from its parent.  Underlying much
  221. of the thinking and discussion in the URI and URN working groups has
  222. been the assumption that when a component delegates authority to another
  223. component, the delegatee can operate in that domain independently of its
  224. peers and within bounds specified by the delegation, independently of
  225. the delegator.  This isolation is critically important in order to allow
  226. for independence of policy and mechanism.
  227.  
  228. There are a number of more specific assumptions that fall under this
  229. rubric of isolation.  First, we assume that the publisher of a resource
  230. can choose resolver services, independently of choices made by others.
  231. At any given time, the owner of a namespace may choose a particular URN
  232. resolver service for that delegated namespace.  Such a URN resolver
  233. service may be outside the RDS service model, and just identified or
  234. located by the RDS service.  Second, it must be possible to make a
  235. choice among RDS services, perhaps based on different underlying
  236. internal architectures.  The reason that this is an assumption is that
  237. there must be an evolutionary path through a sequence of core RDS
  238. services.  Although at any given time there is likely to be only one or
  239. a small set of such services, the number is likely to increase during a
  240. transition period from one architecture to another.  Thus, it must be
  241. assumed that clients can make a choice among a probably very small set
  242. of RDSs.  Third, there must be independence in the choice about levels
  243. and models of security and authenticity required.  This choice may be
  244. made by the owner of a naming subspace, in controlling who can modify
  245. hints in that subspace.  A naming authority may delegate this choice to
  246. the owners of the resources named by the names it has assigned.  There
  247. may be limitations on this freedom of choice in order to allow other
  248. participants to have the level of security and authenticity they
  249. require, for example, in order to maintain the integrity of the RDS
  250. infrastructure as a whole.  Fourth, there is an assumption of
  251. independence of choice of the rule of canonicalization of URNs within a
  252. namespace, limited by any restrictions or constraints that may have been
  253. set by its parent namespace.  This is a choice held by naming
  254. authorities over their own subnamespaces.  Rules for canonicalization
  255. will be discussed further in the framework section below.  Thus, there
  256. are assumptions of independence and isolation to allow for delegated,
  257. independent authority in a variety of domains.
  258.  
  259.                                  - 4 -
  260.  
  261. The modularity assumptions of delegation and isolation imply
  262. independence of decision and implementation, leading to a
  263. decentralization that provides a certain degree of safety from denial of
  264. service.  Based on these these assumptions in conjunction with that of
  265. longevity and those for URLs and URNs as detailed in RFCs 1736 and 1737,
  266. we can now turn to the requirements for a Resolver Discovery Service.
  267.  
  268. 3. Requirements
  269.  
  270. The requirements applying to a Resolver Discovery Service or RDS
  271. center around three important design goals: evolvability, usability,
  272. and security and privacy.  At its core the function of an RDS is to
  273. provide hints for accessing a resource given a URN for it.  These
  274. hints may range in applicability from local to global, and from
  275. short-lived to long-lived.  They also may vary in their degree of
  276. verifiable authenticity.  While it may be neither feasible nor
  277. necessary that initial implementations support every requirement,
  278. every implementation must support evolution to systems that do support
  279. every requirement.
  280.  
  281. It is important to note that there are other requirements, not
  282. applicable specifically to an RDS that must also be met.  A whole URN
  283. system will consist of namespaces, the resolution information for them,
  284. and the mapping from names in the namespaces to resolution information
  285. (or hints).  URN schemes must meet the requirements of RFC 1737.
  286. Resolution information, to the extent it is expressed as URLs must meet
  287. the requirements of RFC 1736.  But this does not tell the whole story.
  288. Although the URN working group will identify several acceptable
  289. namespaces and the rules binding them, such as how delegation occurs,
  290. how it is expressed in the names, how and to what extent binding to hint
  291. information will be constrained by the namespace, in the long run a
  292. document will be needed to guide the evaluation criteria for acceptance
  293. of new namespaces.  These are not included in the list of requirements
  294. below because they are not requirements for an RDS, but rather for naming
  295. schemes themselves.
  296.  
  297. Each section below begins with a summary of the points made and discussed 
  298. in the following discussion.  It is worth noting here that there is
  299. some degree of overlap in the areas of requirements, such as in
  300. allowing for the evolution of security mechanisms, etc.  Issues may
  301. appear in more than one requirement.  It is also important to
  302. recognize that conformance with the requirements may often be
  303. subjective.  Most of these requirements are not quantifiable and hence
  304. conformance is a judgment call and a matter of degree.  Lastly, the
  305. reader may find that some of the requirements are those of general
  306. applicability to distributed systems and some are specific to URN
  307. resolution.  Those of general applicability are included for
  308. completeness and are not distinguished as such.
  309.  
  310. 3.1 Evolution
  311.  
  312. The requirements in the area of evolvability are:
  313.  
  314.    [R1] To support evolution of mechanisms, specifically for
  315.           {R1.1] a growing set of URN schemes;
  316.  
  317.                                  - 5 -
  318.  
  319.           [R1.2] new kinds local URN resolver services;
  320.           [R1.3] new authentication schemes;
  321.           [R1.4] alternative RDS schemes active simultaneously;
  322.    [R2] To support the separation of global identification from
  323.         location information. 
  324.    [R3] To allow for the support the development and deployment of
  325.         administrative control mechanisms to manage human behavior
  326.         with respect to limited resources. 
  327.  
  328.  
  329. One of the lessons of the Internet that we must incorporate into the
  330. development of mechanisms for resolving URNs is that we must be prepared
  331. for change.  Such changes may happen slowly enough to be considered
  332. evolutionary modifications of existing services or dramatically enough
  333. to be considered revolutionary.  They may permeate the Internet universe
  334. bit by bit, living side by side with earlier services or they may take
  335. the Internet by storm, causing an apparent complete transformation over
  336. a short period of time.  There are several directions in which we can
  337. predict the need for evolution, even at this time, prior to the
  338. deployment of any such service.  At the very least, the community and
  339. the mechanisms proposed should be prepared for these.
  340.  
  341. First, we expect there to be additions and changes to the mechanisms.
  342. The community already understands that there must be a capacity for new
  343. URN schemes.  A URN scheme will define a set of URNs that meet the URN
  344. requirements[RFC1737], but may have further constraints on the internal
  345. structure of the URN.  The requirements document would allow for an
  346. overall plan in which URN schemes are free to specify parts of the URN
  347. that are left opaque in the larger picture.  In fact, a URN scheme may
  348. choose to make public the algorithms for any such "opaque" part of the
  349. URN.  For example, although it may be unnecessary to know the structure
  350. of an ISBN, the algorithm for understanding the structure of an ISBN has
  351. been made public.  Other schemes may either choose not to make their
  352. algorithms public, or choose a scheme in which knowledge of the scheme
  353. does not provide any significant semantics to the user.  In any case, we
  354. must be prepared for a growing number of URN schemes.
  355.  
  356. Often in conjunction with a new URN scheme, but possibly independently
  357. of any particular URN scheme, new kinds of resolver services may
  358. evolve.  For example, one can imagine a specialized resolver service
  359. based on the particular structure of ISBNs that improves the
  360. efficiency of finding documents given their ISBNs.  Alternatively, one
  361. can also imagine a general purpose resolver service that trades
  362. performance for generality; although it exhibits only average
  363. performance resolving ISBNs, it makes up for this weakness by
  364. understanding all existing URN schemes, so that its clients can use
  365. the same service to resolve URNs regardless of naming scheme.  In this
  366. context, there will always be room for improvement of services,
  367. through improved performance, better adaptability to new URN schemes,
  368. or lower cost.  In any case, new models for URN resolution will evolve
  369. and we must be prepared to allow for their participation in the
  370. overall resolution of URNs.
  371.  
  372. If we begin with one overall plan for URN resolution, into which the
  373. enhancements described above may fit, we must also be prepared for an
  374.  
  375.                                  - 6 -
  376.  
  377. evolution in the authentication schemes that will be considered either
  378. useful or necessary in the future.  There is no single globally accepted
  379. authentication scheme, and there may never be one.  Even if one does
  380. exist at some point in time, there will always be threats to it, and so
  381. we must always be prepared to move on to newer and better schemes, as
  382. the old ones become too easily spoofed or guessed.
  383.  
  384. Lastly, in terms of mechanism, although we may develop and deploy a
  385. single RDS scheme initially, we must be prepared for that top level
  386. model to evolve.  Thus, if the RDS model supports an apparently
  387. centralized (from a policy standpoint) scheme for inserting and
  388. modifying authoritative information, over time we must be prepared to
  389. evolve to a different model, perhaps one that has a more distributed
  390. model of authority and authenticity.  If the model has no core but
  391. rather a cascaded partial discovery of information, we may find that
  392. this becomes unmanageable with an increase in scaling.  Whatever the
  393. core of the model, we must be prepared for it to evolve with changes in
  394. scaling, performance, and policy constraints such as security and cost.
  395.  
  396. Second, in addition to the evolution of resolution mechanisms, we
  397. expect that the community will follow an evolutionary path towards the
  398. separation of location information from identification.  The URN
  399. requirements document suggested this path as well, and there has been
  400. general agreement in much of the community that such a separation is
  401. desirable.  This is a problem that the public at large has generally
  402. not understood.  Today we see the problem most clearly with the use of
  403. URLs for identification.  When a web page moves, its URL becomes
  404. invalid.  Suppose such a URL is embedded in some page, stored in long
  405. term storage.  There are three possible outcomes to this scenario.
  406. One possibility is that the client is left high and dry with some
  407. message saying that the page cannot be found.  Alternatively, a
  408. "forwarding pointer" may be left behind, in the form of an explicit
  409. page requesting the client to click on a new URL.  Although this will
  410. allow the client to find the intended page, the broken link cannot be
  411. fixed because the URL is embedded in a file outside of the client's
  412. control.  A third alternative is that the target server supplies an
  413. HTTP redirect so that the new page is provided for the client
  414. automatically.  In this case, the client may not even realize that the
  415. URL is no longer correct.  The real problem with both of these latter
  416. two situations is that they only work as long as the forwarding
  417. pointer can be found at the old URL.  Location information, was
  418. embedded in the identifier, and the resolution system was designed to
  419. depend on that location information being correct.  There are few
  420. cases in which we can expect such information to remain valid for a
  421. long time, but in many cases references need to have long lifespans.
  422. Most documents are only useful while their references still function.
  423. To the extent that an RDS scheme supports the separation of global
  424. identification from location information it will be encouraging the
  425. longer utility of the identities.
  426.  
  427. A third evolutionary requirement is even more mechanical than the
  428. others.  At any point in time, the community is likely to be
  429. supporting a compromise position with respect to resolution.  We will
  430. probably be operating in a situation balanced between feasibility and
  431. the ideal, perhaps with policy controls used to help stabilize the
  432.  
  433.                                  - 7 -
  434.  
  435. service.  Ideally, the service would be providing exactly what the
  436. customers wanted and they in turn would not request more support than
  437. they need.  Since we will always be in a situation in which some
  438. service provision resources will be in short supply, some form of
  439. policy controls will always be necessary.  Some policy controls may be
  440. realized as mechanisms within the servers or in the details of
  441. protocols, while others may only be realized externally to the system.
  442. For example, suppose hint entries are being submitted in such volume
  443. that the hint servers are using up their excess capacity and need more
  444. disk space.  An effective solution to this problem would be a
  445. mechanism such as a pricing policy.  This pricing policy has the dual
  446. effect of both encouraging conservative use of resources and
  447. collecting revenue for the improvement and maintenance of the system.
  448. We can also imagine administrative policy controls with the force of
  449. laws or other social pressures behind them, but with no technical
  450. mechanism enforcing or enabling them.  As technology changes and the
  451. balance of which resources are in short supply changes, the mechanisms
  452. and policies for controlling their use must evolve as well.
  453.  
  454. 3.2 Usability and Feature Set Requirements
  455.  
  456. To summarize, the usability requirements fall into three areas based on
  457. participation in hint management and discovery:
  458.  
  459.    * The publisher
  460.       [R4] URN to hint resolution must be correct and efficient with
  461.            very high probability;
  462.       [R5] Publishers must be able to select and move among URN
  463.            resolver services to locate their resources;
  464.       [R6] Publishers should be able to arrange for multiple access
  465.            points for their location information;
  466.       [R7] Publishers must be able to provide for both long-lived and
  467.            short-lived hints;
  468.       [R8] It must be relatively easy for publishers to specify to the
  469.            management and observer their hint information as well as
  470.            any security constraints they need for their hints.
  471.    * The client
  472.       [R9] The interface to the RDS must be simple, effective, and
  473.            efficient;
  474.       [R10] The client and client applications must be able to understand
  475.            the information stored in and provided by the RDS easily,
  476.            in order to be able to make informed choices.
  477.    * The management
  478.       [R11] The management of hints must be as unobtrusive as possible,
  479.            avoiding using too many network resources;
  480.       [R12] The management of hints should allow for administrative
  481.            controls that encourage certain sorts of behavior deemed
  482.            necessary to meet other requirements;
  483.       [R13] The configuration and verification of configuration of
  484.            individual RDS servers must be simple enough not to
  485.            discourage configuration and verification.
  486.  
  487.  
  488. Usability can be evaluated from three distinct perspectives: those of a
  489. publisher wishing to make a piece of information public, those of a
  490.  
  491.                                  - 8 -
  492.  
  493. client requesting URN resolution, and those of the provider or manager
  494. of resolution information.  We will separately address the usability
  495. requirements from each of these three perspectives.
  496.  
  497. It is worth noting that there are two additional sorts of participants
  498. in the whole naming process, as discussed in the URN WG.  They are the
  499. naming authorities which choose and assign names, and the authors who
  500. include URNs in their resources.  These two are not relevant to the
  501. design of an RDS and hence are not discussed further here.
  502.  
  503. 3.2.1 The Publisher
  504.  
  505. The publisher must be able to make URNs known to potential customers.
  506. >From the perspective of a publisher, it is of primary importance that
  507. URNs be correctly and efficiently resolvable by potential clients with
  508. very high probability.  Publishers also stand to gain from long-lived
  509. URNs, since they increase the chance that references continue to point
  510. to their published resources.  
  511.  
  512. The publisher must also be able to choose easily among a variety of
  513. potential services that might translate URNs to location information.
  514. In order to allow for this mobility among resolver services, the
  515. architecture for resolver services specified within the IETF should
  516. not result in a scenario in which changing from one resolver service
  517. to another is an expensive operation.
  518.  
  519. The publisher should be able to arrange for multiple access points to a
  520. published resource.  For this to be useful, resolver services should
  521. be prepared to provide different resolution or hint information to
  522. different clients, based on a variety of information including location
  523. and the various access privileges the client might have.  For example,
  524. companies might arrange for locally replicated copies of popular
  525. resources, and would like to provide access to the local copies only for
  526. their own employees.  This is distinct from access control on the
  527. resource as a whole, and may be applied differently to different copies.
  528.  
  529. The publisher should be able to provide both long and short term
  530. location information about accessing the resource.  Long term
  531. information is likely to be such information as the long term or the
  532. location or identity of a resolver service with which the publisher
  533. has a long term relationship.  One can imagine that the arrangement
  534. with such a long term "authoritative" resolver service might be a
  535. guarantee of reliability, resiliency to failure, and atomic updates.
  536. Shorter term information is useful for short term changes in services
  537. or to avoid short lived congestion or failure problems.  For example,
  538. if the actual repository of the resource is temporarily inaccessible,
  539. the resource might be made available from another repository.  This
  540. short term information can be viewed as temporary refinements of the
  541. longer term information, and as such should be more easily and quickly
  542. made available, but may be less reliable.
  543.  
  544. Lastly, the publishers will be the source of much hint information that
  545. will be stored and served by the manager of the infrastructure.  Despite
  546. the fact that many publishers will not understand the details of the RDS
  547. mechanism, it must be easy and straightforward to install hint
  548.  
  549.                                  - 9 -
  550.  
  551. information.  The publisher must be able not only to express hints, but
  552. also to verify that what is being served by the manager is correct.
  553. Furthermore, to the extent that there are security constraints on hint
  554. information, the publisher must be able to both express them and verify
  555. compliance with them easily.
  556.  
  557. 3.2.2 The Client
  558.  
  559. >From the perspective of the client, simplicity and usability are
  560. paramount.  Of critical importance to serving clients effectively is
  561. that there be an efficient protocol through which the client can acquire
  562. hint information.  Since resolving the name is only the first step on
  563. the way to getting access to a resource, the amount of time spent on it
  564. must be minimized.
  565.  
  566. Furthermore, it will be important to be able to build simple, standard
  567. interfaces to the RDS so that both the client and applications on the
  568. client's behalf can interpret hints and subsequently make informed
  569. choices.  The client, perhaps with the assistance of the application,
  570. must be able to specify preferences and priorities and then apply them.
  571. If the ordering of hints is only partial, the client may become directly
  572. involved in the choice and interpretation of them and hence they must be
  573. understandable to that client.  On the other hand, in general it should
  574. be possible to configure default preferences, with individual
  575. preferences viewed as overriding any defaults.
  576.  
  577. >From the client's perspective, although URNs will provide important
  578. functionality, the client is most likely to interact directly only with
  579. human friendly names (HFNs).  As in direct human interaction (not
  580. computer mediated), the sharing of names will be on a small, private, or
  581. domain specific scale.  HFNs will be the sorts of references and names
  582. that are easy to remember, type, choose among, assign, etc.  There will
  583. also need to be a number of mechanisms for mapping HFNs to URNs.  Such
  584. services as "yellow pages" or "search tools" fall into this category.
  585. Although we are mentioning HFNs here, it is important to recognize that
  586. HFNs and the mappings from HFNs to URNs is and must remain a separate
  587. functionality from an RDS.  Hence, although HFNs will be critical to
  588. clients, they do not fall into the domain of this document.
  589.  
  590. 3.2.3 The Management
  591.  
  592. Finally, we must address the usability concerns with respect to the
  593. management of the hint infrastructure itself.  What we are terming
  594. "management" is a service that is distinct from publishing; it is the
  595. core of an RDS.  It involves the storage and provision of hints to the
  596. clients, so that they can find published resources.  It also provides
  597. security to the extent that there is a commitment for provision of such
  598. security; this is addressed below.
  599.  
  600. The management of hints must be as unobtrusive as possible. First, its
  601. infrastructure (hint storage servers and distribution protocols) should
  602. have as little impact as possible on other network activities.  It must
  603. be remembered that this is an auxiliary activity and must remain in the
  604. background.
  605.  
  606.                                  - 10 -
  607.  
  608. Second, in order to make hint management feasible, there may need to
  609. be a system for administrative incentives and disincentives such as
  610. pricing or legal restrictions.  Recovering the cost of running the
  611. system is only one reason for levying charges.  The introduction of
  612. payments often has a beneficial impact on social behavior.  It may be
  613. necessary to discourage certain forms of behavior that when out of
  614. control have serious negative impact on the whole community.  At the
  615. same time, any administrative policies should encourage behavior that
  616. benefits the community as a whole.  Thus, for example, a small
  617. one-time charge for authoritatively storing a hint will encourage
  618. conservative use of hints.  If we assume that there is a fixed cost
  619. for managing a hint, then the broader its applicability across the URN
  620. space, the more cost effective it is.  That is, when one hint can
  621. serve for a whole collection of URNs, there will be an incentive to
  622. submit one general hint over a large number of more specific hints.
  623. Similar policies can be instituted to discourage the frequent changing
  624. of hints.  In these ways and others, behavior benefitting the
  625. community as a whole can be encouraged.
  626.  
  627. Lastly, symmetric to issues of usability for publishers, it must also
  628. be simple for the management to configure the mapping of URNs to
  629. hints.  It must be easy both to understand the configuration and to
  630. verify that configuration is correct.  With respect to management,
  631. this requirement may have an impact not only on the information itself
  632. but also on how it is partitioned among network servers that
  633. collaboratively provide the management service or RDS.  For example,
  634. it should be straightforward to bring up a server and verify that the
  635. data it is managing is correct.  Although this is not a requirement,
  636. it is worth nothing that since we are discussing a global and probably
  637. growing service, encouraging volunteer participants suggests that, as
  638. with the DNS, such volunteers can feel confident about the service
  639. they are providing and its benefit to both themselves and the rest of
  640. the community.
  641.  
  642.  
  643. 3.3 Security and Privacy Requirements
  644.  
  645. SUMMARY: Security and privacy requirements can be identified as some
  646. degree of protection from threats.  These requirements are all stated
  647. in terms of possibilities or options for users of the service to
  648. require and utilize.  Hence they are requirements for the availability
  649. of functionality, but not for the use of it.  We recognize that all
  650. security is a matter of degree and compromise.  These may not satisfy
  651. all potential customers, and there is no intention here to prevent
  652. them from building more secure servers with more secure protocols to
  653. suit their needs.  These are intended to satisfy the needs of the
  654. general public.
  655.  
  656.    [R14] It must be possible to create authoritative versions of a hint
  657.          with access-to-modification privileges controlled;
  658.    [R15] It must be possible to determine the identity of servers or avoid
  659.          contact with unauthenticated servers;
  660.    [R16] It must be possible to reduce the threat of denial of service
  661.          by broad distribution of information across servers.
  662.  
  663.                                  - 11 -
  664.  
  665.    [R17] It must be possible within the bounds of organization policy
  666.          criteria to provide at least some degree of privacy for
  667.          traffic.
  668.    [R18] It must be possible for publishers to keep private certain
  669.          information such as an overall picture of the resources they are
  670.          publishing and the identity of their clients;
  671.    [R19] It must be possible for publishers to be able to restrict
  672.          access to the resolution of the URNs for the resources they
  673.          publish, if they wish. 
  674.  
  675. When one discusses security, one of the primary issues is an
  676. enumeration of the threats being considered for mitigation.  The
  677. tradeoffs often include cost in money and computational and
  678. communications resources, ease of use, likelihood of use, and
  679. effectiveness of the mechanisms proposed.  With this in mind, let us
  680. consider a set of threats.  
  681.  
  682. A good place to begin is with the early work of Voydock and Kent
  683. [VK83].  They identify unauthorized release of information as a
  684. passive attack, and all three of unauthorized modification of
  685. information, denial of service, and spurious association initiation as
  686. active attacks.  An intruder at any protocol layer can attack at any
  687. of the links or computational elements (hosts, routers, etc.) at that
  688. layer.  Attacks at one layer can be achieved by subverting or
  689. attacking the lower layers.  An unauthorized release of information is
  690. a violation of privacy or confidentiality.  This may be achieved by a
  691. release of the information itself.  Additional passive threats are
  692. from secondary information through traffic analysis or other
  693. violations of transmission security, such as noticing lengths and/or
  694. sources and destinations of traffic.  Moving to the active threats,
  695. unauthorized modification of information can be partitioned into
  696. problems with authenticity, integrity and ordering.  Denial of service
  697. may take the form of discarding information before it reaches its
  698. destination or some degree of delay in delivering information.
  699. Finally, spurious association may occur when a previous legitimate
  700. association initiation is played back or an initiation is made under
  701. false identity.  Security measures may take the form of either
  702. detection or prevention of each of these threats.  Within the scope of
  703. this work, we must identify those threats that are both of concern and
  704. that we expect to be able to mediate.  Of these threats the prevention
  705. of passive attacks is known to be a particularly difficult problem to
  706. address in the general case.
  707.  
  708. Of these threats, the passive threats to privacy or confidentiality
  709. and the active threats of authenticity and integrity are probably the
  710. most important to consider here.  To the extent that spurious
  711. association causes threats to the privacy, authenticity, or integrity
  712. with respect to information within servers managing data, it is also
  713. important.  Because updates to hint information are idempotent, at
  714. least with short periods of time, we will set aside the problems of
  715. ordering for this analysis.  Denial of service is probably the most
  716. difficult of these areas of threats both to detect and to prevent, and
  717. we will therefore set it aside for the present as well, although it
  718. will be seen that solutions to other problems will also mitigate some
  719. of the problems of denial of service.  Furthermore, because this is
  720.  
  721.                                  - 12 -
  722.  
  723. intended to be provide a global service to meet the needs of a variety
  724. of communities, the engineering tradeoffs will be different for
  725. different clients.  Hence the requirements are stated in terms of,
  726. "It must be possible..."  It is important to note that the
  727. information of concern here is hint information, which by nature is
  728. not guaranteed to be correct or up-to-date; therefore, it is unlikely
  729. to be worth putting too much expense into the correctness of hints,
  730. because there is no guarantee that they are still correct anyway.  But
  731. the exact choice of degree of privacy, authenticity, and integrity
  732. must be determined by the needs of the client and the availability of
  733. services from the server.
  734.  
  735. There is one further issue to address at this point, the distinction
  736. between mechanism and policy.  In general, a policy is realized by
  737. means of a set of mechanisms.  In the case of an RDS there may be
  738. policies internal to the RDS that it needs to have supported in order
  739. to do its business as it sees fit.  Since, in general it is in the
  740. business of storing and distributing information, most of its security
  741. policies may have to do with maintaining its own integrity, and are
  742. rather limited.  Beyond that, to the degree possible, it should impose
  743. no policy on its customers, the publishers and users.  It is they that
  744. may have policies that they would like supported by the RDS.  To that
  745. end, an RDS should provide a spectrum of "tools" or mechanisms that
  746. the customers can cause to be deployed on their behalf to realize
  747. policies.  An RDS may not provide all that is needed by a customer.  A
  748. customer may have different requirements within his or her
  749. administrative bounds than outside.  Thus, "it must be possible..."
  750. captures the idea that the RDS must generally provide the tools to
  751. implement policies as needed by the customers.
  752.  
  753. The first approach to URN resolution is to discover local hints.  In
  754. order for hints to be discovered locally, they will be as widely
  755. distributed to what is considered to be local for every locale.  The
  756. drawback of such wide distribution is the wide distribution of
  757. updates, causing network traffic problems or delays in delivering
  758. updates.  An alternative model would concentrate hint information in
  759. servers, thus requiring that update information only be distributed to
  760. these servers.  In such a model the vulnerable points are the sources
  761. of the information and the distribution network among them.  Attackers
  762. on the integrity of the information stored in a server may come in the
  763. form of other a fake owner of the information or a fake server to the
  764. extent that servers exchange updates with each other.  Wide
  765. replication of information among servers increases the difficult of
  766. masquerading at all the locations of the information as well as
  767. reducing the threat of denial service.  These lead us to three
  768. identifiable goals for our security model:
  769.  
  770.  
  771. * ACCESS CONTROL ON HINTS: It must be possible to create an
  772.   authoritative version of each hint with change control limited only
  773.   to those principals with the right to modify it.  The choice of who
  774.   those principals are or whether they are unlimited must be made by
  775.   the publisher of a hint. 
  776.  
  777.                                  - 13 -
  778.  
  779. * SERVER AUTHENTICITY: Servers and clients must be able to learn the
  780.   identity of the servers with which they communicate.  This will be a
  781.   matter of degree and it is possible that there will be more
  782.   trustworthy, but less accessible servers, supported by a larger 
  783.   cluster of less authenticatable servers that are more widely
  784.   available.  In the worst case, if the client receives what appears to
  785.   be unvalidated information, the client should assume that the hint
  786.   may be inaccurate and confirmation of the data might be sought from
  787.   more reliable but less accessible data.
  788.  
  789. * SERVER DISTRIBUTION: Broad availability will provide resistance to
  790.   denial of service.  It is only to the extent that the services are
  791.   available that they provide any degree of trustworthiness.  In
  792.   addition, the distribution of services will reduce vulnerability
  793.   of the whole community, by reducing the trust put in any single
  794.   server.  This must be mitigated by the fact that to the extent trust
  795.   is based on a linked set of servers, if any one fails, the whole
  796.   chain of trust fails; the more elements there are in such a chain,
  797.   the more vulnerable it may become.
  798.  
  799. Privacy is a more difficult problem to address.  It may be a
  800. double-edged sword; for example, an organization may consider it
  801. critically important that its competitors not be able to read its
  802. traffic, while it may also consider it important to be able to monitor
  803. exactly what its employees are transmitting to and from whom, for a
  804. variety of reasons such as reducing the probability that its employees
  805. are giving or selling the company's secrets to verifying that
  806. employees are not using company resources for private endeavor.  Thus,
  807. although there are likely to be needs for privacy and confidentiality,
  808. what they are, who controls them and how, and by what mechanisms vary
  809. widely enough that it is difficult to say anything concrete about them
  810. here.
  811.  
  812. The privacy of publishers is much easier to safeguard.  Since they are
  813. trying to publish something, in general privacy is probably not
  814. desired.  However, publishers do have information that they might like
  815. to keep private: information about who their clients are, and
  816. information about what names exist in their namespace.  The
  817. information about who their clients are may be difficult to collect
  818. depending on the implementation of the resolution system.  For
  819. example, if the resolution information relating to a given publisher
  820. is widely replicated, the hits to _each_ replicated copy will need to
  821. be recorded.  Of course, determining if a specific client is
  822. requesting a given name can be approached from the other direction, by
  823. watching the client as we saw above.
  824.  
  825. The other privacy issue for publishers has to do with access control
  826. over URN resolution.  This issue is dependent on the implementation of
  827. the publisher's authoritative URN resolver server.  URN resolver
  828. servers can be designed to require proof of identity in order to be
  829. issued resolution information; if the client does not have permission
  830. to access the URN requested, the service denies that such a URN
  831. exists.  An encrypted protocol can also be used so that both the
  832. request and the response are obscured.  Encryption is possible in this
  833.  
  834.                                  - 14 -
  835.  
  836. case because the identity of the final recipient is known (i.e. the
  837. URN server).
  838.  
  839. 4. The Framework
  840.  
  841. With these assumptions and requirements in mind, one can conclude with a
  842. general framework within which RDS designs will fall.  As stated
  843. earlier, although this framework is put forth as a suggested guide for
  844. RDS designers, compliance with it will in no way guarantee compliance
  845. with the requirements.  Such an evaluation must be performed separately.
  846. It is also understood that there may be RDS services that do not meet
  847. the requirements in clearly identified ways.  This may be true
  848. especially with early plans and experiments.  For example, although a
  849. careful threat analysis may have been done to understand security
  850. requirements, not all those security requirements may be addressed, in
  851. order to use existing facilities to allow for early deployment for
  852. experimentation purposes.  All such lack of compliance should be clearly
  853. documented.
  854.  
  855. The design of the framework is based on a simple assumption about the
  856. syntax of a URN a documented in RFC-XXX[RFCXXX}.  This assumed syntax
  857. is:
  858.  
  859.     URN:<NID>:<NSS>
  860.  
  861. where URN: is a prefix on all URNs, NID is the namespace identifier,
  862. and NSS is the namespace specific string.  The prefix identifies each
  863. URN as such.  The NID determines the general syntax for all URNs
  864. within its namespace.  The NSS is probably partitioned into a set of
  865. delegated and subdelegated namespaces, and this is probably reflected
  866. in further syntax specifications.  In more complex environments, each
  867. delegated namespace will be permitted to choose the syntax of the
  868. variable part of the namespace that has been delegated to it.  In
  869. simpler namespaces, the syntax will be restricted completely by the
  870. parent namespace.  For example, although the DNS does not meet all the
  871. requirements for URNs, it has a completely restricted syntax, such
  872. that any further structuring must be done only by adding further
  873. refinements to the left, maintaining the high order to low order,
  874. right to left structure.  A delegated syntax might be one in which a
  875. host is named by the DNS, but to the right of that and separated by an
  876. "@" is a string whose internal ordering is defined by the file system
  877. on the host, which may be defined high order to low order, left to
  878. right.  Of course, much more complex and nested syntaxes should be
  879. possible, especially given the need to grandfather namespaces.  In
  880. order to resolve URNs, rules will be needed for two reasons.  One is
  881. simply to canonicalize those namespaces that do not fall into a
  882. straightforward (probably right to left or left to right) ordering of
  883. the components of a URN, as determined by the delegated naming
  884. authorities involved.  It is also possible that rules will be needed
  885. in order to derive from URNs the names of RDS servers to be used in
  886. stages.
  887.  
  888. The NID defines a top level syntax.  This syntax will determine
  889. whether the NID alone or in conjunction with some extraction from the
  890. NSS (for the top level naming authority name) is to be used to
  891.  
  892.                                  - 15 -
  893.  
  894. identify the first level server to be contacted.  At each stage of the
  895. lookup either a new rule for generating the strings used in yet
  896. another lookup (the strings being the identity of another RDS server
  897. and possibly a string to be resolved if it is different than the
  898. original URN) or a reference outside the RDS to a private URN
  899. resolver service, sidestepping any further use of the RDS scheme.
  900. Figure 1 depicts this process.
  901.  
  902.  
  903.                             URN:<NID><NSS>
  904.                                  |
  905.                                  |
  906.                                  |
  907.                                  |
  908.                                  v
  909.                        +-------------------+
  910.                        |Global NID registry|
  911.                        +-------------------+
  912.                                  |
  913.                                              |
  914.                                  |
  915.               (return rule or URN resolver service reference)
  916.                                  |
  917.                                  +----------------------------------+
  918.                                  |                                  |
  919.                        +->(apply rule to determine RDS server)        |
  920.                |         |                    |
  921.                |         |                    |
  922.                |         |                    |
  923.                        |    +----------+                |
  924.                        |    |RDS server|      +-----------------+
  925.                        |    +----------+      |
  926.                        |      |      |          v
  927.                 |      |      |   (set of choices)
  928.                 |      |      +----+----------(...)--------+
  929.                        |   (rule)      |                       |
  930.                        |      |           |               |
  931.                 |      |           |               |
  932.                 +------+           |               |
  933.                               v               v
  934.                    +----------+          +----------+
  935.                    |private   |          |private   |
  936.                                   |URN         |            |URN         |
  937.                                   |resolver  |          |resolver  |
  938.                                   |service   |          |service   |
  939.                    +----------+          +----------+
  940.  
  941.  
  942.  
  943.         Figure 1: An RDS framework
  944.  
  945.  
  946. There are several points worth noting about the RDS framework.  First,
  947. it leaves open the determination of the protocols, data organization,
  948. distribution and replication needed to support a particular RDS
  949.  
  950.                                  - 16 -
  951.  
  952. scheme.  Second, it leaves open the location of the computations
  953. engendered by the rules.  Third, it leaves open the possibility that
  954. partitioning (distribution) of the RDS database need not be on the
  955. same boundaries as the name delegation.  This may seem radical to
  956. some, but if the information is stored in balanced B-trees for
  957. example, the partitioning may not be along those naming authority
  958. delegation boundaries.  Lastly, it leaves open access to the Global
  959. NID Registry.  Is this distributed to every client, or managed in
  960. widely distributed servers?
  961.  
  962. One concept that has not been addressed in Figure 1 is that there may
  963. be more than one RDS available at any given time, in order to allow
  964. for evolution to new schemes.  Thus, the picture should probably look
  965. more like Figure 2.
  966.  
  967.  
  968.                          URN:<NID>:<NSS>
  969.                                |
  970.                        |
  971.            +-----------+-------(...)-------+
  972.            |                   |
  973.            |                   |
  974.            |                   |
  975.            v                   v
  976.      +---------------------+    +---------------------+
  977.      |Global NID registry 1|        |Global NID registry N|
  978.      +---------------------+        +---------------------+
  979.                    .                               .
  980.                    .                               .
  981.                    .                               .
  982.  
  983.  
  984.         Figure 2: More than one co-existing RDS scheme
  985.  
  986.  
  987. If we are to support more than one co-existing RDS scheme, there will
  988. need to be coordination between them with respect to storage and
  989. propagation of information and modifications.  The issue is that
  990. generally it should be assumed that all information should be available
  991. through any operational RDS scheme.  One cannot expect potential
  992. publishers to submit updates to N RDS schemes.  Hence there will need to
  993. be a straightforward mapping of information from one to the other of
  994. these schemes.  It is possible that that transformation will only go in
  995. one direction, because a newer RDS service is replacing an older one,
  996. which is not kept up to date, in order to encourage transfer to the
  997. newer one.  Thus, at some point, updates may be made only to the newer
  998. one and not be made available to the older one.  Such a situation should
  999. probably be avoided, if possible.
  1000.  
  1001. This framework is presented in order to suggest to RDS scheme
  1002. designers a direction in which to start designing.  It should be
  1003. obvious to the reader that adherence to this framework will in no way
  1004. guarantee compliance with the requirements or even assumption
  1005. described in Sections 2 and 3.  These must be reviewed independently
  1006. as part of the design process.  There is no single correct design that
  1007.  
  1008.                                  - 17 -
  1009.  
  1010. will meet these requirements.  Furthermore, it is assumed that
  1011. preliminary proposals may not meet all the requirements, but should be
  1012. expected to itemized and justify any lack of compliance.
  1013.  
  1014. 5. Acknowledgments
  1015.  
  1016. Foremost acknowledgment for this document goes to Lewis Girod, as my
  1017. co-author on a previous URN requirements document and for his insightful
  1018. comments on this version of the document.  In addition, I recognize the
  1019. contributors to a previous URN framework document, the "Knoxville"
  1020. group.  There are too many of you to acknowledge here individually, but
  1021. thank you.  Finally, I must thank the contributors to the URN working
  1022. group mailing list (urn-ietf@bunyip.com), for their animated discussions
  1023. on these and related topics.
  1024.  
  1025. 6. References
  1026.  
  1027. [RFC1736] Kunze, J., "Functional Recommendations for Internet Resource
  1028. Locators", RFC 1736, February, 1995.
  1029.  
  1030. [RFC1737] Sollins, K. and Masinter, L., "Functional Requirements for
  1031. Uniform Resource Names", RFC 1738, December, 1994.
  1032.  
  1033. [RFC1738] Berners-Lee, T., Masinter, L., McCahill, M., "Uniform
  1034. Resource Locators (URL)", RFC 1738, December, 1994.
  1035.  
  1036. [RFCXXX] Moats, Ryan, "URN Syntax", currently available as
  1037. draft-ietf-urn-syntax-04.txt, March, 1997.
  1038.  
  1039. [VK83] Voydock, V. L., and Kent, S. T., "Security Mechanisms in
  1040. High-Level Protocols", ACM Computing Surveys, v. 15, No. 2, June,
  1041. 1983, pp. 135-171.
  1042.  
  1043. 7. Contact information:
  1044.  
  1045. Karen Sollins
  1046. MIT Laboratory for Computer Science
  1047. 545 Technology Sq.
  1048. Cambridge, MA 02139
  1049.  
  1050. Tel: +1 617 253 6006
  1051. Email: sollins@lcs.mit.edu
  1052.  
  1053. This Internet Draft expires on September 28, 1997.
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.  
  1061.  
  1062.  
  1063.  
  1064.  
  1065.  
  1066.                                  - 18 -